Google Sheets Functions: mmult
$ (\begin{array}{r} 1 & 2 & 3 \\ \end{array} ) \left[\begin{array}{rrr} 1 & 1 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 1 \end{array}\right]
1,2,3というセルの並びがあれば、それをベクトルに見立てて、上記にみたいにする。
右側の行列: transpose(column(A1:C1)) と column(A1:C1) を比較して、1を掛けて作る。
最後に、=mmult( 左のベクトル(行列), 右の行列)という処理をする。
アウトプットで、(1, 3, 6) となる。
いろいろできそうな気がする。
列 {2; 31; 13}
行 {2,31,13}
1を要素にするベクトル
=arrayformula(sign(RANDARRAY(10,1))) 10行
arrayformulaのshort cut ctrl+shift+enter
単位行列 =munit(3)
上三角行列: =ArrayFormula((transpose(column(A1:C1))<=column(A1:C1))*1)
range関数みたいなものがあるとよい? pythonのrange(3) みたいな...(generatorだけど)
単位ベクトルみたいなものを作りたいが、、
={1,1,1,} みたいにリテラルではなく....
現状は、=ArrayFormula(column(A1:C3)) みたいに、column関数をarrayformuにして、1,2,3を作ってる。まあ、不足はないのか...
差を取る行列, こんな感じで、差分をとればよい
$ \left[\begin{array}{rrr} 0 & -1 & 0 \\ 0 & 1 & -1 \\ 0 & 0 & 1 \end{array}\right]
作り方は、上記のように、行、列のindexの数字を見ていく? munit()を使う?
現時点では、too muchなので、このあたりで。
いろいろ、統計や機械学習の学習フォーマットとして活用できそうな感じだけど、、カスタム関数可できるものはしておきたい。